﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SistemaGO_Library.Entidades.Mudanca
{
    class CadastroMudanca
    {
        private IRepositorioMudanca mudancas;

        public CadastroMudanca(IRepositorioMudanca repMud){
            this.mudancas = repMud;
        }

        public void inserirMudanca(Mudanca mud) {
            if (mud != null && !mudancas.existeMudanca(mud.Mudanca_cod)) {
                mudancas.inserirMudanca(mud);
            } else {
                throw new Exception("Mudança Já Existente ou Nula");
            }
        }

        public Mudanca buscarMudanca(int cod) {
            Mudanca mud = new Mudanca();
            mud = null;
            if (mudancas.existeMudanca(cod)) {
                mud = mudancas.buscarMudanca(cod);
            } else {
                throw new Exception("Mudança Não Encontrada");
            }
            return mud;
        }

        public void alterarMudanca(int cod, Mudanca novaMudanca) {
            if (mudancas.existeMudanca(cod)) {
                mudancas.alterarMudanca(cod, novaMudanca);
            } else {
                throw new Exception("Erro ao alterar mudança");
            }
        }


        public void excluirMudanca(int cod) {
            if (cod < 0) {
                throw new Exception("Erro ao excluir mudança");
            } else {
                mudancas.excluirMudanca(cod);
            }
        }
    }
}
